System and method for using a set-top box application to diagnose customer premises equipment

ABSTRACT

A device having a test module configured to connect with a server through a cellular telephone network and a wireless area network. The test module is also configured to initiate, in the server, a diagnostic test of an Internet Protocol television network and a media processor. The test module is further configured to receive information indicating problems with the Internet Protocol television network and the media processor, and to display the information on a display.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/767,113, filed Feb. 14, 2013, which is a continuation of U.S. patentapplication Ser. No. 12/603,646 filed Oct. 22, 2009, which areincorporated herein by reference in their entirety.

FIELD OF THE DISCLOSURE

The present disclosure generally relates to communications networks, andmore particularly relates to a system and a method for using a set-topbox application to diagnose customer premises equipment.

BACKGROUND OF THE DISCLOSURE

An Internet Protocol television (IPTV) service provider can transmit anIPTV signal to a user via a central office, a serving area interface,and a residential gateway. The IPTV service provider can offer the usera variety of different television programs and/or movies. For example,the IPTV service provider can supply users with real-time televisionprograms that are typically available for the users to watch only at aspecific date and time. The IPTV service provider can also offer theusers on-demand movies that are available for an extended amount of timeand that are provided to the users upon request of the on-demand movie.

BRIEF DESCRIPTION OF THE DRAWINGS

It will be appreciated that for simplicity and clarity of illustration,elements illustrated in the Figures have not necessarily been drawn toscale. For example, the dimensions of some of the elements areexaggerated relative to other elements. Embodiments incorporatingteachings of the present disclosure are shown and described with respectto the drawings presented herein, in which:

FIG. 1 of an Internet Protocol television system;

FIG. 2 is a flow diagram of a method for initiating a diagnostic testfor a set-top box device in the IPTV system; and

FIG. 3 is an illustrative embodiment of a general computer system.

The use of the same reference symbols in different drawings indicatessimilar or identical items.

DETAILED DESCRIPTION OF THE DRAWINGS

The numerous innovative teachings of the present application will bedescribed with particular reference to the presently preferred exemplaryembodiments. However, it should be understood that this class ofembodiments provides only a few examples of the many advantageous usesof the innovative teachings herein. In general, statements made in thespecification of the present application do not necessarily delimit anyof the various claimed inventions. Moreover, some statements may applyto some inventive features but not to others.

FIG. 1 shows an Internet Protocol television (IPTV) system 100 includinga diagnostic server 102, a residential gateway 104, a set-top box device106, a network agile device 108, a cellular network 110, a privatenetwork 112, an access network 114, and element management systems 116.The diagnostic server 102 is in communication with the residentialgateway 104, the set-top box device 106, and the network agile device108 via the private network 112 and the access network 114. Thediagnostic server 102 also can communicate with the network agile device108 via the private network 112 and the cellular network 110. Thediagnostic server 102 is in communication with the element managementsystems 116 via the private network 112.

The set-top box device 106 is in communication with the residentialgateway 104, such as through a wired or wireless connection. The networkagile device 108 is in communication with the residential gateway 104via a wireless connection, such as an 802.11(g) connection or any otherwireless connection protocol. The network agile device 108 is incommunication with the cellular network 110, such as through a 3Gcellular connection. The network agile device 108 can be any device thatis capable of communicating over a wireless network connection, and overthe cellular telephone network 110, such as a cellular telephone, apersonal digital assistant, a laptop computer, and the like.

The set-top box device 106 can receive and display IPTV signals from theIPTV network 100 through the private network 112 and the access network114. However, the user may encounter problems with the ability of theset-top box device 106 to receive and/or display the IPTV signals, orproblems with the ability of the residential gateway 104 to receiveother IP signals from the network. The problem can be a loss of video oraudio in an IPTV video stream, loss of an application such as theelectronic programming guide, loss of voice over Internet Protocol(VoIP), and the like. In this situation, the user can either callcustomer service or initiate a test application or module 118 or 120 tocause a network diagnostic application 122 to diagnose the problem. Thetest modules 118 and 120 can be hardware, software, and/or anycombination of hardware and software. The test application 118 can beimplemented on the network agile device 108, and the test application120 can be implemented on the set-top box device 106.

The test application 120 within the set-top box device 106 can beexecuted in response to a command received from the user, such as theuser pressing a test button (not shown) on the set-top box device or onthe remote control device (not shown). The test application 120 can thenattempt to connect with the network diagnostic application 122 of thediagnostic server 102 via the residential gateway 104, the accessnetwork 114, and the private network 112, and utilize this connection toallow the set-top box device 106 to communicate with the diagnosticserver 102.

When the test application 118 on the network agile device 108 isactivated, the test application initializes and attempts to connect to anetwork diagnostic application 122 residing in the diagnostic server102. The test application 118 can first attempt to connect with thediagnostic server 102 via the residential gateway 104, the accessnetwork 114, and the private network 112. However, if the wirelessnetwork connection between the network agile device 108 and theresidential gateway 104 is down or the residential gateway cannotconnect with the diagnostic server 102, the network agile device canattempt to connect with the diagnostic server via the cellular network110. The test application 118 can determine that the connection with theresidential gateway 104 is down based on the test application notreceiving a reply from the residential gateway for a specific number oftimes. The test application 118 can then utilize the cellular network110 to continue to communicate with the network diagnostic application122.

The user can interact with the network diagnostic application 122 viathe test application 118 or 120 to diagnose and resolve problems withthe set-top box device 106 and/or the residential gateway 104, identifyand inform the user of broader network outages affecting the user,collect diagnostic information associated with the set-top box device,automatically dispatch repair tickets, and the like. An initialdiagnostic step of the network diagnostic application 122 can be todetermine whether the diagnostic server 102 is properly communicatingwith the set-top box device 106 via a preferred connection. For example,the diagnostic server 102 can first attempt to communicate with theelement management systems 122 throughout the private network 112 toverify that the private network is working. The network diagnosticapplication 120 can then check the access network 114 to verify that thediagnostic server 102 can properly communicate with the residentialgateway 104 and the set-top box device 106.

If the connection is operative, the diagnostic session can proceed asdiscussed below. However, if the connection is not operative, thediagnostic server 102 can attempt to diagnose and correct any problemsin the residential gateway 104 and/or the set-top box device 106 throughthe cellular network 110 and the network agile device 108. For example,the diagnostic server 102 may attempt to update the operating system ofthe set-top box device 106 and/or update a driver of the residentialgateway 102 by sending a command to the set-top box device via thecellular network 110 and the network agile device 108. If the networkdiagnostic application 122 receives information that the updates cannotbe performed, the diagnostic server 102 may initiate the arrangement ofan on-site technician service call.

During the diagnostic session, the network diagnostic application 122can interact with the user via the test application 118 or 120, which inturn can interact with the user to attempt to diagnose the problemsbased on rules within the network diagnostic application, such as takingrecommended actions. The recommended action can include rebooting theset-top box device 106, rebooting the residential gateway 104, and thelike. Additionally, the network diagnostic application 122 can trace theentire customer access network path from the private network 112 throughthe element management systems 122, to the access network 114, to theresidential gateway 104, and to the set-top box device 106. The networkdiagnostic application 122 can then provide the test application 118 or120 with network outage situations, other network problems, the amountof time until the problem is repaired, and the like. Then the testapplication 118 can display the information on a display deviceassociated with the network agile device 108. Similarly, the testapplication 120 can display the information on a display deviceassociated with the set-top box device 106.

The set-top box device 106 can receive a query or command from thediagnostic server 102, and based on the query or command the set-top boxdevice can perform various system diagnoses to evaluate the performanceof the set-top box device. The set-top box device 106 may then returndiagnostic data to the diagnostic server 102 identifying the problem orindicating a failure to identify the problem via the access network 114,or the network agile device 108 and the cellular network 110. Thediagnostic server 102 can then return a query for more information or acommand to perform a remedial function, such as downloading a softwareupdate from the IPTV network 100 or changing one or more operationparameters of the set-top box device 106. The set-top box device 106also can perform diagnostic functions on the residential gateway 104 orany other device attached to the set-top box device. If the problemcannot be corrected, the set-top box device 106 can be instructed toenter the identification of the set-top box device in a service log foran on-site technical service call.

FIG. 2 shows a flow diagram of a method 200 for diagnosing an IPTVnetwork problem via a network agile device. At block 202, a testapplication is initialized in a network agile device. A determination ismade whether a server is available via a residential gateway at block204. The server can be a diagnostic server located in the IPTV network.If the server is not available via the residential gateway, the serveris connected to via a cellular network at block 206. However, if theserver is available via the residential gateway, the network agiledevice is connected to the server via the residential gateway at block208. At block 210, a network diagnostic test is initiated for the IPTVnetwork, the residential gateway, and a set-top box device.

A request to update software on the set-top box device is receive viathe cellular network at block 212. The request can be received by thenetwork agile device. A block 214, the request is transmitted to theset-top box device. The network agile device can transmit the request tothe set-top box device via a wireless connection with the residentialgateway connected to the set-top box device. Information indicatingproblems with the IPTV network, the residential gateway, and the set-topbox device is received at block 216. At block 218 the information isdisplayed on a display device associated with the network agile device.A service ticket is submitted for the residential gateway and theset-top box device at block 220.

FIG. 3 shows an illustrative embodiment of a general computer system300. The computer system 300 can include a set of instructions that canbe executed to cause the computer system to perform any one or more ofthe methods or computer based functions disclosed herein. The computersystem 300 may operate as a standalone device or may be connected, suchas by using a network, to other computer systems or peripheral devices.

In a networked deployment, the computer system may operate in thecapacity of a server or as a client user computer in a server-clientuser network environment, or as a peer computer system in a peer-to-peer(or distributed) network environment. The computer system 300 can alsobe implemented as or incorporated into various devices, such as apersonal computer (PC), a tablet PC, an STB, a personal digitalassistant (PDA), a mobile device, a palmtop computer, a laptop computer,a desktop computer, a communications device, a wireless telephone, aland-line telephone, a control system, a camera, a scanner, a facsimilemachine, a printer, a pager, a personal trusted device, a web appliance,a network router, switch or bridge, or any other machine capable ofexecuting a set of instructions (sequential or otherwise) that specifyactions to be taken by that machine. In a particular embodiment, thecomputer system 300 can be implemented using electronic devices thatprovide voice, video or data communication. Further, while a singlecomputer system 300 is illustrated, the term “system” shall also betaken to include any collection of systems or sub-systems thatindividually or jointly execute a set, or multiple sets, of instructionsto perform one or more computer functions.

The computer system 300 may include a processor 302, such as a centralprocessing unit (CPU), a graphics processing unit (GPU), or both.Moreover, the computer system 300 can include a main memory 304 and astatic memory 306 that can communicate with each other via a bus 308. Asshown, the computer system 300 may further include a video display unit310 such as a liquid crystal display (LCD), an organic light emittingdiode (OLED), a flat panel display, a solid state display, or a cathoderay tube (CRT). Additionally, the computer system 300 may include aninput device 312 such as a keyboard, and a cursor control device 314such as a mouse. The computer system 300 can also include a disk driveunit 316, a signal generation device 318 such as a speaker or remotecontrol, and a network interface device 320 to communicate with anetwork 326. In a particular embodiment, the disk drive unit 316 mayinclude a computer-readable medium 322 in which one or more sets ofinstructions 324, such as software, can be embedded. Further, theinstructions 324 may embody one or more of the methods or logic asdescribed herein. In a particular embodiment, the instructions 324 mayreside completely, or at least partially, within the main memory 304,the static memory 306, and/or within the processor 302 during executionby the computer system 300. The main memory 304 and the processor 302also may include computer-readable media.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure. Other embodiments may be utilized and derived from thedisclosure, such that structural and logical substitutions and changesmay be made without departing from the scope of the disclosure.Additionally, the illustrations are merely representational and may notbe drawn to scale. Certain proportions within the illustrations may beexaggerated, while other proportions may be minimized. Accordingly, thedisclosure and the FIGs. are to be regarded as illustrative rather thanrestrictive.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b) and is submitted with the understanding that it will not beused to interpret or limit the scope or meaning of the claims. Inaddition, in the foregoing Detailed Description of the Drawings, variousfeatures may be grouped together or described in a single embodiment forthe purpose of streamlining the disclosure. This disclosure is not to beinterpreted as reflecting an intention that the claimed embodimentsrequire more features than are expressly recited in each claim. Rather,as the following claims reflect, inventive subject matter may bedirected to less than all of the features of any of the disclosedembodiments. Thus, the following claims are incorporated into theDetailed Description of the Drawings, with each claim standing on itsown as defining separately claimed subject matter.

The above disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments which fall within thetrue spirit and scope of the present disclosed subject matter. Thus, tothe maximum extent allowed by law, the scope of the present disclosedsubject matter is to be determined by the broadest permissibleinterpretation of the following claims and their equivalents, and shallnot be restricted or limited by the foregoing detailed description.

What is claimed is:
 1. A gateway device, comprising: a processor; and amemory that stores executable instructions that, when executed by theprocessor, facilitate performance of operations, comprising: attemptingto initiate a first communication link between a media processor and aserver through a first network; receiving an indication that the mediaprocessor and the server are not communicating through the firstcommunication link; responsive to receiving the indication that themedia processor and the server are not communicating through the firstcommunication link: initiating a second communication link between themedia processor and the server via a wireless communications device; andupdating software executable by the media processor through the secondcommunication link.
 2. The gateway device of claim 1, wherein the firstcommunication link comprises a wireless network connection.
 3. Thegateway device of claim 2, wherein the operations further comprisedetermining that the wireless network connection is not accessible. 4.The gateway device of claim 1, wherein the wireless communicationsdevice presents test information associated with the server and themedia processor.
 5. The gateway device of claim 1, wherein the wirelesscommunications device initiates a service ticket at the server.
 6. Thegateway device of claim 1, wherein the server is coupled to the wirelesscommunications device via a cellular network.
 7. The gateway device ofclaim 6, wherein the operations further comprise routing a softwareupdate request from the server to the media processor through thecellular network.
 8. The gateway device of claim 1, wherein the wirelesscommunications device comprises a cellular telephone device.
 9. Thegateway device of claim 1, wherein the indication is received from theserver.
 10. A method, comprising: determining, by a system comprising aprocessor, whether a server device and a media processor arecommunicating through a first communication link; initiating a secondcommunication link with a network agile device by way of a cellularnetwork responsive to determining that the server device and the mediaprocessor are not communicating through the first communication link,wherein the network agile device is further operable to access the mediaprocessor; transmitting, by the system, a request to the media processorto update software via the second communication link; and transmitting,by the system, the software for updating responsive to an acceptance ofthe request.
 11. The method of claim 10, further comprising routing, bythe system, diagnostic communications to the media processor through thesecond communication link.
 12. The method of claim 10, furthercomprising performing, by the system, a network diagnostics test that isinitiated by one of a cellular telephone, a personal digital assistant,or a laptop computer.
 13. The method of claim 10, further comprisingcreating, by the system, a service ticket for the media processorresponsive to determining that the server device and the media processorare not communicating through the first communication link.
 14. Themethod of claim 10, wherein the network agile device comprises acellular telephone device.
 15. The method of claim 10, furthercomprising receiving an indication that the media processor and theserver device are not communicating through the first communicationlink.
 16. A server device, comprising: a processor; and a memory thatstores executable instructions that, when executed by the processor,facilitate performance of operations, comprising: attempting to initiatea first communication link with a media processor through a gatewaydevice; identifying a problem in communicating with the media processorthrough the first communication link; and initiating a secondcommunication link with the media processor by way of a network agiledevice in accordance with the problem that is identified.
 17. The serverdevice of claim 16, wherein the network agile device comprises acellular telephone device.
 18. The server device of claim 16, whereinthe operations further comprise receiving an indication from the mediaprocessor of the problem with the first communication link.
 19. Theserver device of claim 16, wherein the operations further comprisereceiving an indication from a diagnostic server device of the problemwith the first communication link.
 20. The server device of claim 16,wherein the operations further comprise: transmitting to the mediaprocessor a request to update software; and transmitting the softwarefor updating responsive to an acceptance of the request via the secondcommunication link.